package cn.hahah.module.blog.controller.admin.article.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 博客系统文章新增/修改 Request VO")
@Data
public class ArticleSaveReqVO {

    @Schema(description = "文章编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20411")
    private Long id;

    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17926")
    @NotNull(message = "用户编号不能为空")
    private Long userId;

    @Schema(description = "类型编号", example = "2759")
    private Long typeId;

    @Schema(description = "文章标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "文章标题不能为空")
    private String title;

    @Schema(description = "文章图片", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "文章图片不能为空")
    private String picture;

    @Schema(description = "文章正文", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "文章正文不能为空")
    private String content;

    @Schema(description = "文章描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
    @NotEmpty(message = "文章描述不能为空")
    private String description;

    @Schema(description = "浏览次数", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotNull(message = "浏览次数不能为空")
    private Integer views;

    @Schema(description = "是否公开", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotNull(message = "是否公开不能为空")
    private Boolean isPublished;

    @Schema(description = "是否推荐", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotNull(message = "是否推荐不能为空")
    private Boolean isRecommend;

    @Schema(description = "是否赞赏", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotNull(message = "是否赞赏不能为空")
    private Boolean isAppreciation;

    @Schema(description = "可否评论", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotNull(message = "可否评论不能为空")
    private Boolean isCommentEnabled;

    @Schema(description = "是否置顶", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotNull(message = "是否置顶不能为空")
    private Boolean isTop;

}